package negocio;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="items_remito")
public class ItemRemito implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id
	@Column(name="id_item_remito", nullable=false)
	private int id_item_remito;

	@OneToOne(cascade=CascadeType.MERGE)
	@JoinColumn(name="id_producto", referencedColumnName="id_producto")
	private Producto producto;
	
	@Column(name="cantidad", nullable=true)
	private float cantidad;
	
	
	public int getId_item_remito() {
		return id_item_remito;
	}


	public void setId_item_remito(int id_item_remito) {
		this.id_item_remito = id_item_remito;
	}


	public Producto getProducto() {
		return producto;
	}


	public void setProducto(Producto producto) {
		this.producto = producto;
	}


	
	@Override
	public String toString() {
		return "ItemRemito [id_item_remito=" + id_item_remito + ", producto="
				+ producto + "]";
	}


	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id_item_remito;
		result = prime * result
				+ ((producto == null) ? 0 : producto.hashCode());
		return result;
	}


	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ItemRemito other = (ItemRemito) obj;
		if (id_item_remito != other.id_item_remito)
			return false;
		if (producto == null) {
			if (other.producto != null)
				return false;
		} else if (!producto.equals(other.producto))
			return false;
		return true;
	}


	public float getCantidad() {
		return cantidad;
	}


	public void setCantidad(float cantidad) {
		this.cantidad = cantidad;
	}

	
	
	
	
}
